<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content='ie=edge,chrome=1'>
        <title>125. 验证回文串</title>
    </head>
    <body>
        <section>
            给定一个字符串，验证它是否是回文串，只考虑字母和数字字符，可以忽略字母的大小写。

            说明：本题中，我们将空字符串定义为有效的回文串。

            示例 1:

            输入: "A man, a plan, a canal: Panama"
            输出: true
            示例 2:

            输入: "race a car"
            输出: false

        </section>
        <pre class="language-JavaScript">
            <code>
                /**
                * @param {string} s
                * @return {boolean}
                */
                var isPalindrome = function(s) {
                    let reg = /[0-9a-z]/i;
                    s = s.toLocaleLowerCase();
                    let l = 0, r = s.length -1;
                    while(l <= r) {
                        if(!reg.test(s[l])) {
                            l ++;
                        } else if(!reg.test(s[r])) {
                            r --;
                        } else if(s[l] !== s[r]) {
                            return false;
                        } else {
                            l ++;
                            r --;
                        }
                    }
                    return true;
                };
            </code>
        </pre>
        <script>
/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
    let reg = /[0-9a-z]/i;
    s = s.toLocaleLowerCase();
    let l = 0, r = s.length -1;
    while(l <= r) {
        if(!reg.test(s[l])) {
            l ++;
        } else if(!reg.test(s[r])) {
            r --;
        } else if(s[l] !== s[r]) {
            return false;
        } else {
            l ++;
            r --;
        }
    }
    return true;
};
        </script>
    </body>
</html>